home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
LIBRARY
/
PCTV3N3
/
STAKSTUF.SRC
< prev
next >
Wrap
Text File
|
1992-06-16
|
754b
|
31 lines
type
PLowData = ^TLowData;
TLowData = record {Data structure stored by TP at DSeg:10}
pStackTop : Word; {Lowest allowable offset for the stack}
pStackBot : Word; {Highest offset for the stack}
pStackMin : Word; {Lowest detected value of SP}
end;
procedure FillStack;
var P : PLowData;
begin
P := Ptr(DSeg, 10);
FillChar(Mem[SSeg:P^.pStackTop],P^.pStackBot-P^.pStackTop-32,$AA);
end;
function FreeStack : Word;
var P : PLowData; S : Word;
begin
P := Ptr(DSeg, 10);
S := P^.pStackTop;
while Mem[SSeg:S] = $AA do inc(S);
FreeStack := S-P^.pStackTop;
end;
function TPFreeStack : Word;
var P : PLowData;
begin
P := Ptr(DSeg, 10);
TPFreeStack := P^.pStackMin-P^.pStackTop;
end;